package com.AdvancedDemos.Lambda表达式与方法引用;

public class Lambda表达式与匿名内部类性能差异 {
    public static void main(String[] args) {

//lambda和匿名内部类性能对比
        //1.使用匿名内部类:此时匿名内部类会生成名为 外部类名$编号.class 文件,占用物理存储(硬盘)
        //使用匿名内部类时,会加载到方法区,占用内存空间
       /*
       useInter(new Inter() {
            @Override
            public void show() {
            }
       });
       */


        //2.而使用lambda表达式可以对匿名内部类进行优化
        //在程序运行时,动态生成文件,使用完毕直接销毁
        useInter(() -> {
        });//()表示接口中的抽象函数没有形参,{}表示方法体是空的
    }

    public static void useInter(Inter inter) {
        inter.show();
    }
}

interface Inter {
    public abstract void show();
}